///*******************************************************************************
// * Copyright (c) 2000, 2007 IBM Corporation and others.
// * All rights reserved. This program and the accompanying materials
// * are made available under the terms of the Eclipse Public License v1.0
// * which accompanies this distribution, and is available at
// * http://www.eclipse.org/legal/epl-v10.html
// *
// * Contributors:
// * IBM Corporation - Bits of importWizard from DeprecatedUIWizards
// * Red Hat, Inc - initial API and implementation
// *******************************************************************************/
//
//package org.eclipse.ui.tests.datatransfer;
//
//import java.io.File;
//import java.io.IOException;
//import java.lang.reflect.InvocationTargetException;
//import java.net.URL;
//import java.util.ArrayList;
//import java.util.HashSet;
//import java.util.zip.ZipFile;
//
//import org.eclipse.core.resources.IFolder;
//import org.eclipse.core.resources.IProject;
//import org.eclipse.core.resources.IResource;
//import org.eclipse.core.resources.IWorkspaceRoot;
//import org.eclipse.core.resources.ResourcesPlugin;
//import org.eclipse.core.runtime.CoreException;
//import org.eclipse.core.runtime.IPath;
//import org.eclipse.core.runtime.IProgressMonitor;
//import org.eclipse.core.runtime.NullProgressMonitor;
//import org.eclipse.core.runtime.Path;
//import org.eclipse.core.runtime.Platform;
//import org.eclipse.core.runtime.jobs.Job;
//import org.eclipse.core.tests.harness.FileSystemHelper;
//import org.eclipse.jface.dialogs.IDialogSettings;
//import org.eclipse.jface.operation.IRunnableWithProgress;
//import org.eclipse.jface.viewers.CheckboxTreeViewer;
//import org.eclipse.jface.wizard.WizardDialog;
//import org.eclipse.swt.SWT;
//import org.eclipse.swt.layout.GridLayout;
//import org.eclipse.swt.widgets.Composite;
//import org.eclipse.swt.widgets.Shell;
//import org.eclipse.ui.PlatformUI;
//import org.eclipse.ui.internal.WorkbenchPlugin;
//import org.eclipse.ui.internal.dialogs.ImportExportWizard;
//import org.eclipse.ui.internal.wizards.datatransfer.WizardProjectsImportPage;
//import org.eclipse.ui.internal.wizards.datatransfer.WizardProjectsImportPage.ProjectRecord;
//import org.eclipse.ui.tests.TestPlugin;
//import org.eclipse.ui.tests.harness.util.DialogCheck;
//import org.eclipse.ui.tests.harness.util.FileTool;
//import org.eclipse.ui.tests.harness.util.FileUtil;
//import org.eclipse.ui.tests.harness.util.UITestCase;
//
//public class ImportExistingProjectsWizardTest extends UITestCase {
// private static final String DATA_PATH_PREFIX = "data/org.eclipse.datatransferArchives/";
// private static final String WS_DATA_PREFIX = "data/workspaces";
// private static final String WS_DATA_LOCATION = "importExistingFromDirTest";
// private static final String ARCHIVE_HELLOWORLD = "helloworld";
// private static final String ARCHIVE_FILE_WITH_EMPTY_FOLDER = "EmptyFolderInArchive";
//
// private static final String[] FILE_LIST = new String[] { "test-file-1.txt",
// "test-file-2.doc", ".project" };
//
// private static final String[] ARCHIVE_FILE_EMPTY_FOLDER_LIST = new String[] {
// "empty", "folder" };
//
// private String dataLocation = null;
//
// private String zipLocation = null;
//
// private boolean originalRefreshSetting;
//
// public ImportExistingProjectsWizardTest(String testName) {
// super(testName);
// }
//
// private Shell getShell() {
// return DialogCheck.getShell();
// }
//
// protected void doSetUp() throws Exception {
// super.doSetUp();
// originalRefreshSetting = ResourcesPlugin.getPlugin()
// .getPluginPreferences().getBoolean(
// ResourcesPlugin.PREF_AUTO_REFRESH);
// ResourcesPlugin.getPlugin().getPluginPreferences().setValue(
// ResourcesPlugin.PREF_AUTO_REFRESH, true);
// }
//
// protected void doTearDown() throws Exception {
// super.doTearDown();
// IWorkspaceRoot wsRoot = ResourcesPlugin.getWorkspace().getRoot();
// IProject[] projects = wsRoot.getProjects();
// for (int i = 0; i < projects.length; i++) {
// FileUtil.deleteProject(projects[i]);
// }
// // clean up any data directories created
// if (dataLocation != null) {
// File root = new File(dataLocation);
// if (root.exists()) {
// FileSystemHelper.clear(root);
// }
// }
// dataLocation = null; // reset for next test
//
// // do same for zip location
// if (zipLocation != null) {
// File root = new File(zipLocation);
// if (root.exists()) {
// // zipLocation is the zip file, not the temp directory it was
// // copied to
// FileSystemHelper.clear(root.getParentFile());
// }
// }
// zipLocation = null; // reset for next test
//
// ResourcesPlugin.getPlugin().getPluginPreferences().setValue(
// ResourcesPlugin.PREF_AUTO_REFRESH, originalRefreshSetting);
// }
//
// private void waitForRefresh() {
// try {
// PlatformUI.getWorkbench().getProgressService().busyCursorWhile(
// new IRunnableWithProgress() {
// public void run(IProgressMonitor monitor)
// throws InterruptedException {
// Job.getJobManager().join(
// ResourcesPlugin.FAMILY_AUTO_REFRESH,
// new NullProgressMonitor());
// }
// });
// } catch (InvocationTargetException e) {
// fail(e.getLocalizedMessage());
// } catch (InterruptedException e) {
// fail(e.getLocalizedMessage());
// }
// }
//
// public void testFindSingleZip() {
// try {
// URL archiveFile = Platform.asLocalURL(Platform.find(TestPlugin
// .getDefault().getBundle(), new Path(DATA_PATH_PREFIX
// + ARCHIVE_HELLOWORLD + ".zip")));
// WizardProjectsImportPage wpip = getNewWizard();
// HashSet projects = new HashSet();
// projects.add("HelloWorld");
//
// wpip.getProjectFromDirectoryRadio().setSelection((false)); // We
// // want
// // the
// // other
// // one
// // selected
// wpip.updateProjectsList(archiveFile.getPath());
//
// ProjectRecord[] selectedProjects = wpip.getValidProjects();
// ArrayList projectNames = new ArrayList();
// for (int i = 0; i < selectedProjects.length; i++) {
// projectNames.add(selectedProjects[i].getProjectName());
// }
//
// assertTrue("Not all projects were found correctly in zip",
// projectNames.containsAll(projects));
// } catch (IOException e) {
// fail(e.toString());
// }
// }
//
// public void testFindSingleTar() {
// try {
// URL archiveFile = Platform.asLocalURL(Platform.find(TestPlugin
// .getDefault().getBundle(), new Path(DATA_PATH_PREFIX
// + ARCHIVE_HELLOWORLD + ".tar")));
// WizardProjectsImportPage wpip = getNewWizard();
// HashSet projects = new HashSet();
// projects.add("HelloWorld");
//
// wpip.getProjectFromDirectoryRadio().setSelection((false)); // We
// // want
// // the
// // other
// // one
// // selected
// wpip.updateProjectsList(archiveFile.getPath());
//
// ProjectRecord[] selectedProjects = wpip.getValidProjects();
// ArrayList projectNames = new ArrayList();
// for (int i = 0; i < selectedProjects.length; i++) {
// projectNames.add(selectedProjects[i].getProjectName());
// }
//
// assertTrue("Not all projects were found correctly in tar",
// projectNames.containsAll(projects));
// } catch (IOException e) {
// fail(e.toString());
// }
// }
//
// public void testFindSingleDirectory() {
// try {
// dataLocation = copyDataLocation();
// IPath wsPath = new Path(dataLocation).append("HelloWorld");
// WizardProjectsImportPage wpip = getNewWizard();
// HashSet projects = new HashSet();
// projects.add("HelloWorld");
// // We're importing a directory
// wpip.getProjectFromDirectoryRadio().setSelection((true));
// wpip.updateProjectsList(wsPath.toOSString());
//
// ProjectRecord[] selectedProjects = wpip.getValidProjects();
// ArrayList projectNames = new ArrayList();
// for (int i = 0; i < selectedProjects.length; i++) {
// projectNames.add(selectedProjects[i].getProjectName());
// }
//
// assertTrue("Not all projects were found correctly in directory",
// projectNames.containsAll(projects));
// } catch (IOException e) {
// fail(e.toString());
// }
// }
//
// public void testDoNotShowProjectWithSameName() {
// try {
// dataLocation = copyDataLocation();
// IPath wsPath = new Path(dataLocation);
//
// FileUtil.createProject("HelloWorld");
//
// WizardProjectsImportPage wpip = getNewWizard();
// // We're importing a directory
// wpip.getProjectFromDirectoryRadio().setSelection((true));
// wpip.updateProjectsList(wsPath.toOSString());
//
// ProjectRecord[] selectedProjects = wpip.getValidProjects();
// ArrayList projectNames = new ArrayList();
// for (int i = 0; i < selectedProjects.length; i++) {
// projectNames.add(selectedProjects[i].getProjectName());
// }
//
// assertEquals("there should only be the WorldHello project left", 1,
// projectNames.size());
//
// assertTrue(
// "HelloWorld project should not be found in project list.",
// !projectNames.contains("HelloWorld"));
// } catch (Exception e) {
// fail(e.toString());
// }
// }
//
// public void testImportSingleZip() {
// try {
// IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
//
// IProject[] workspaceProjects = root.getProjects();
// for (int i = 0; i < workspaceProjects.length; i++)
// FileUtil.deleteProject(workspaceProjects[i]);
// URL archiveFile = Platform.asLocalURL(Platform.find(TestPlugin
// .getDefault().getBundle(), new Path(DATA_PATH_PREFIX
// + ARCHIVE_HELLOWORLD + ".zip")));
// WizardProjectsImportPage wpip = getNewWizard();
// HashSet projects = new HashSet();
// projects.add("HelloWorld");
//
// wpip.getProjectFromDirectoryRadio().setSelection((false)); // We
// // want
// // the
// // other
// // one
// // selected
// wpip.updateProjectsList(archiveFile.getPath());
//
// ProjectRecord[] selectedProjects = wpip.getValidProjects();
// ArrayList projectNames = new ArrayList();
// for (int i = 0; i < selectedProjects.length; i++) {
// projectNames.add(selectedProjects[i].getProjectName());
// }
//
// assertTrue("Not all projects were found correctly in zip",
// projectNames.containsAll(projects));
//
// CheckboxTreeViewer projectsList = wpip.getProjectsList();
// projectsList.setCheckedElements(selectedProjects);
// wpip.createProjects(); // Try importing all the projects we found
// waitForRefresh();
//
// // "HelloWorld" should be the only project in the workspace
// workspaceProjects = root.getProjects();
// if (workspaceProjects.length != 1)
// fail("Incorrect Number of projects imported");
// IFolder helloFolder = workspaceProjects[0].getFolder("HelloWorld");
// if (helloFolder.exists())
// fail("Project was imported as a folder into itself");
//
// verifyProjectInWorkspace(true, workspaceProjects[0], FILE_LIST,
// true);
//
// } catch (IOException e) {
// fail(e.toString());
// } catch (CoreException e) {
// fail(e.toString());
// }
//
// }
//
// public void testImportZipWithEmptyFolder() {
// try {
// IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
//
// IProject[] workspaceProjects = root.getProjects();
// for (int i = 0; i < workspaceProjects.length; i++)
// FileUtil.deleteProject(workspaceProjects[i]);
// URL archiveFile = Platform.asLocalURL(Platform.find(TestPlugin
// .getDefault().getBundle(), new Path(DATA_PATH_PREFIX
// + ARCHIVE_FILE_WITH_EMPTY_FOLDER + ".zip")));
// WizardProjectsImportPage wpip = getNewWizard();
// HashSet projects = new HashSet();
// projects.add("A");
//
// wpip.getProjectFromDirectoryRadio().setSelection((false)); // We
// // want
// // the
// // other
// // one
// // selected
// wpip.updateProjectsList(archiveFile.getPath());
//
// ProjectRecord[] selectedProjects = wpip.getValidProjects();
// ArrayList projectNames = new ArrayList();
// for (int i = 0; i < selectedProjects.length; i++) {
// projectNames.add(selectedProjects[i].getProjectName());
// }
//
// assertTrue("Not all projects were found correctly in zip",
// projectNames.containsAll(projects));
//
// CheckboxTreeViewer projectsList = wpip.getProjectsList();
// projectsList.setCheckedElements(selectedProjects);
// wpip.createProjects(); // Try importing all the projects we found
// waitForRefresh();
//
// // "HelloWorld" should be the only project in the workspace
// workspaceProjects = root.getProjects();
// if (workspaceProjects.length != 1)
// fail("Incorrect Number of projects imported");
// IFolder helloFolder = workspaceProjects[0].getFolder("HelloWorld");
// if (helloFolder.exists())
// fail("Project was imported as a folder into itself");
//
// verifyProjectInWorkspace(true, workspaceProjects[0],
// ARCHIVE_FILE_EMPTY_FOLDER_LIST, false);
//
// } catch (IOException e) {
// fail(e.toString());
// } catch (CoreException e) {
// fail(e.toString());
// }
// }
//
// public void testImportSingleTar() {
// try {
// IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
//
// IProject[] workspaceProjects = root.getProjects();
// for (int i = 0; i < workspaceProjects.length; i++)
// FileUtil.deleteProject(workspaceProjects[i]);
// URL archiveFile = Platform.asLocalURL(Platform.find(TestPlugin
// .getDefault().getBundle(), new Path(DATA_PATH_PREFIX
// + ARCHIVE_HELLOWORLD + ".tar")));
// WizardProjectsImportPage wpip = getNewWizard();
// HashSet projects = new HashSet();
// projects.add("HelloWorld");
//
// wpip.getProjectFromDirectoryRadio().setSelection((false)); // We
// // want
// // the
// // other
// // one
// // selected
// wpip.updateProjectsList(archiveFile.getPath());
//
// ProjectRecord[] selectedProjects = wpip.getValidProjects();
// ArrayList projectNames = new ArrayList();
// for (int i = 0; i < selectedProjects.length; i++) {
// projectNames.add(selectedProjects[i].getProjectName());
// }
//
// assertTrue("Not all projects were found correctly in tar",
// projectNames.containsAll(projects));
//
// CheckboxTreeViewer projectsList = wpip.getProjectsList();
// projectsList.setCheckedElements(selectedProjects);
// wpip.createProjects(); // Try importing all the projects we found
// waitForRefresh();
//
// // "HelloWorld" should be the only project in the workspace
// workspaceProjects = root.getProjects();
// if (workspaceProjects.length != 1)
// fail("Incorrect Number of projects imported");
// IFolder helloFolder = workspaceProjects[0].getFolder("HelloWorld");
// if (helloFolder.exists())
// fail("Project was imported as a folder into itself");
//
// verifyProjectInWorkspace(true, workspaceProjects[0], FILE_LIST,
// true);
//
// } catch (IOException e) {
// fail(e.toString());
// } catch (CoreException e) {
// fail(e.toString());
// }
//
// }
//
// public void testImportTarWithEmptyFolder() {
// try {
// IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
//
// IProject[] workspaceProjects = root.getProjects();
// for (int i = 0; i < workspaceProjects.length; i++)
// FileUtil.deleteProject(workspaceProjects[i]);
// URL archiveFile = Platform.asLocalURL(Platform.find(TestPlugin
// .getDefault().getBundle(), new Path(DATA_PATH_PREFIX
// + ARCHIVE_FILE_WITH_EMPTY_FOLDER + ".tar")));
// WizardProjectsImportPage wpip = getNewWizard();
// HashSet projects = new HashSet();
// projects.add("A");
//
// wpip.getProjectFromDirectoryRadio().setSelection((false)); // We
// // want
// // the
// // other
// // one
// // selected
// wpip.updateProjectsList(archiveFile.getPath());
//
// ProjectRecord[] selectedProjects = wpip.getValidProjects();
// ArrayList projectNames = new ArrayList();
// for (int i = 0; i < selectedProjects.length; i++) {
// projectNames.add(selectedProjects[i].getProjectName());
// }
//
// assertTrue("Not all projects were found correctly in tar",
// projectNames.containsAll(projects));
//
// CheckboxTreeViewer projectsList = wpip.getProjectsList();
// projectsList.setCheckedElements(selectedProjects);
// wpip.createProjects(); // Try importing all the projects we found
// waitForRefresh();
//
// // "HelloWorld" should be the only project in the workspace
// workspaceProjects = root.getProjects();
// if (workspaceProjects.length != 1)
// fail("Incorrect Number of projects imported: Expected=1, Actual="
// + workspaceProjects.length);
// IFolder helloFolder = workspaceProjects[0].getFolder("A");
// if (helloFolder.exists())
// fail("Project was imported as a folder into itself");
//
// verifyProjectInWorkspace(true, workspaceProjects[0],
// ARCHIVE_FILE_EMPTY_FOLDER_LIST, false);
//
// } catch (IOException e) {
// fail(e.toString());
// } catch (CoreException e) {
// fail(e.toString());
// }
//
// }
//
// public void testImportSingleDirectory() {
// IPath wsPath = null;
// try {
// IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
//
// IProject[] workspaceProjects = root.getProjects();
// for (int i = 0; i < workspaceProjects.length; i++)
// FileUtil.deleteProject(workspaceProjects[i]);
//
// dataLocation = copyDataLocation();
// wsPath = new Path(dataLocation).append("HelloWorld");
// WizardProjectsImportPage wpip = getNewWizard();
// HashSet projects = new HashSet();
// projects.add("HelloWorld");
//
// wpip.getProjectFromDirectoryRadio().setSelection((true));
// wpip.updateProjectsList(wsPath.toOSString());
// ProjectRecord[] selectedProjects = wpip.getValidProjects();
// ArrayList projectNames = new ArrayList();
// for (int i = 0; i < selectedProjects.length; i++) {
// projectNames.add(selectedProjects[i].getProjectName());
// }
//
// assertTrue("Not all projects were found correctly in directory",
// projectNames.containsAll(projects));
//
// CheckboxTreeViewer projectsList = wpip.getProjectsList();
// projectsList.setCheckedElements(selectedProjects);
// wpip.createProjects(); // Try importing all the projects we found
// waitForRefresh();
//
// // "HelloWorld" should be the only project in the workspace
// workspaceProjects = root.getProjects();
// if (workspaceProjects.length != 1)
// fail("Incorrect Number of projects imported");
// IFolder helloFolder = workspaceProjects[0].getFolder("HelloWorld");
// if (helloFolder.exists())
// fail("Project was imported as a folder into itself");
//
// verifyProjectInWorkspace(false, workspaceProjects[0], FILE_LIST,
// true);
//
// } catch (IOException e) {
// fail(e.toString());
// } catch (CoreException e) {
// fail(e.toString());
// }
// }
//
// public void testImportSingleDirectoryWithCopy() {
// IPath wsPath = null;
// try {
// IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
//
// IProject[] workspaceProjects = root.getProjects();
// for (int i = 0; i < workspaceProjects.length; i++)
// FileUtil.deleteProject(workspaceProjects[i]);
//
// dataLocation = copyDataLocation();
// wsPath = new Path(dataLocation).append("HelloWorld");
// WizardProjectsImportPage wpip = getNewWizard();
// HashSet projects = new HashSet();
// projects.add("HelloWorld");
//
// wpip.getProjectFromDirectoryRadio().setSelection((true));
// wpip.getCopyCheckbox().setSelection(true);
// wpip.saveWidgetValues();
// wpip.restoreWidgetValues();
//
// wpip.updateProjectsList(wsPath.toOSString());
// ProjectRecord[] selectedProjects = wpip.getValidProjects();
// ArrayList projectNames = new ArrayList();
// for (int i = 0; i < selectedProjects.length; i++) {
// projectNames.add(selectedProjects[i].getProjectName());
// }
//
// assertTrue("Not all projects were found correctly in zip",
// projectNames.containsAll(projects));
//
// CheckboxTreeViewer projectsList = wpip.getProjectsList();
// projectsList.setCheckedElements(selectedProjects);
// wpip.createProjects(); // Try importing all the projects we found
// waitForRefresh();
//
// // "HelloWorld" should be the only project in the workspace
// workspaceProjects = root.getProjects();
// if (workspaceProjects.length != 1)
// fail("Incorrect Number of projects imported");
// IFolder helloFolder = workspaceProjects[0].getFolder("HelloWorld");
// if (helloFolder.exists())
// fail("Project was imported as a folder into itself");
//
// verifyProjectInWorkspace(true, workspaceProjects[0], FILE_LIST,
// true);
//
// } catch (IOException e) {
// fail(e.toString());
// } catch (CoreException e) {
// fail(e.toString());
// }
// }
//
// public void testImportSingleDirectoryWithCopyDeleteProjectKeepContents() {
// IPath wsPath = null;
// try {
// IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
//
// IProject[] workspaceProjects = root.getProjects();
// for (int i = 0; i < workspaceProjects.length; i++)
// FileUtil.deleteProject(workspaceProjects[i]);
//
// dataLocation = copyDataLocation();
// wsPath = new Path(dataLocation).append("HelloWorld");
// WizardProjectsImportPage wpip = getNewWizard();
// HashSet projects = new HashSet();
// projects.add("HelloWorld");
//
// wpip.getProjectFromDirectoryRadio().setSelection((true));
// wpip.getCopyCheckbox().setSelection(true);
// wpip.saveWidgetValues();
// wpip.restoreWidgetValues();
//
// wpip.updateProjectsList(wsPath.toOSString());
// ProjectRecord[] selectedProjects = wpip.getValidProjects();
// ArrayList projectNames = new ArrayList();
// for (int i = 0; i < selectedProjects.length; i++) {
// projectNames.add(selectedProjects[i].getProjectName());
// }
//
// assertTrue("Not all projects were found correctly in zip",
// projectNames.containsAll(projects));
//
// CheckboxTreeViewer projectsList = wpip.getProjectsList();
// projectsList.setCheckedElements(selectedProjects);
// wpip.createProjects(); // Try importing all the projects we found
// waitForRefresh();
//
// // "HelloWorld" should be the only project in the workspace
// workspaceProjects = root.getProjects();
// if (workspaceProjects.length != 1)
// fail("Incorrect Number of projects imported: "
// + workspaceProjects.length + " projects in workspace.");
// IFolder helloFolder = workspaceProjects[0].getFolder("HelloWorld");
// if (helloFolder.exists())
// fail("Project was imported as a folder into itself");
//
// verifyProjectInWorkspace(true, workspaceProjects[0], FILE_LIST,
// true);
//
// // delete projects in workspace but not contents
// for (int i = 0; i < workspaceProjects.length; i++) {
// workspaceProjects[i].delete(false, true, null);
// }
// assertTrue("Test project not deleted successfully.", root
// .getProjects().length == 0);
//
// // perform same test again, but this time import from this workspace
// final WizardProjectsImportPage wpip2 = getNewWizard();
// HashSet projects2 = new HashSet();
// projects2.add("HelloWorld");
//
// wpip2.getProjectFromDirectoryRadio().setSelection((true));
// wpip2.getCopyCheckbox().setSelection(true);
// wpip2.saveWidgetValues();
// wpip2.restoreWidgetValues();
//
// wpip2.updateProjectsList(wsPath.toOSString());
// ProjectRecord[] selectedProjects2 = wpip2.getValidProjects();
// assertTrue("Not all projects were found correctly in zip (2).",
// selectedProjects2.length == 1);
//
// ArrayList projectNames2 = new ArrayList();
// for (int i = 0; i < selectedProjects2.length; i++) {
// projectNames2.add(selectedProjects2[i].getProjectName());
// }
//
// assertTrue("Not all projects were found correctly in zip (2)",
// projectNames2.containsAll(projects2));
//
// CheckboxTreeViewer projects2List = wpip2.getProjectsList();
// projects2List.setCheckedElements(selectedProjects2);
// wpip2.createProjects(); // Try importing all the projects we found
// waitForRefresh();
//
// // "HelloWorld" should be the only project in the workspace
// workspaceProjects = root.getProjects();
// if (workspaceProjects.length != 1)
// fail("Incorrect Number of projects imported");
// helloFolder = workspaceProjects[0].getFolder("HelloWorld");
// if (helloFolder.exists())
// fail("Project was imported as a folder into itself (2)");
//
// verifyProjectInWorkspace(true, workspaceProjects[0], FILE_LIST,
// true);
//
// } catch (IOException e) {
// fail(e.toString());
// } catch (CoreException e) {
// fail(e.toString());
// }
// }
//
// public void testImportZipDeleteContentsImportAgain() {
// try {
// IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
//
// IProject[] workspaceProjects = root.getProjects();
// for (int i = 0; i < workspaceProjects.length; i++)
// FileUtil.deleteProject(workspaceProjects[i]);
// URL archiveFile = Platform.asLocalURL(Platform.find(TestPlugin
// .getDefault().getBundle(), new Path(DATA_PATH_PREFIX
// + ARCHIVE_HELLOWORLD + ".zip")));
// WizardProjectsImportPage wpip = getNewWizard();
// HashSet projects = new HashSet();
// projects.add("HelloWorld");
//
// wpip.getProjectFromDirectoryRadio().setSelection((false)); // We
// // want
// // the
// // other
// // one
// // selected
// wpip.updateProjectsList(archiveFile.getPath());
//
// ProjectRecord[] selectedProjects = wpip.getValidProjects();
// ArrayList projectNames = new ArrayList();
// for (int i = 0; i < selectedProjects.length; i++) {
// projectNames.add(selectedProjects[i].getProjectName());
// }
//
// assertTrue("Not all projects were found correctly in zip",
// projectNames.containsAll(projects));
//
// CheckboxTreeViewer projectsList = wpip.getProjectsList();
// projectsList.setCheckedElements(selectedProjects);
// wpip.createProjects(); // Try importing all the projects we found
// waitForRefresh();
//
// // "HelloWorld" should be the only project in the workspace
// workspaceProjects = root.getProjects();
// if (workspaceProjects.length != 1)
// fail("Incorrect Number of projects imported");
// IFolder helloFolder = workspaceProjects[0].getFolder("HelloWorld");
// if (helloFolder.exists())
// fail("Project was imported as a folder into itself");
//
// verifyProjectInWorkspace(true, workspaceProjects[0], FILE_LIST,
// true);
//
// // delete projects in workspace but not contents
// for (int i = 0; i < workspaceProjects.length; i++) {
// workspaceProjects[i].delete(true, true, null);
// }
// assertTrue("Test project not deleted successfully.", root
// .getProjects().length == 0);
//
// // import again
// IProject[] workspaceProjects2 = root.getProjects();
// for (int i = 0; i < workspaceProjects2.length; i++)
// FileUtil.deleteProject(workspaceProjects2[i]);
// URL archiveFile2 = Platform.asLocalURL(Platform.find(TestPlugin
// .getDefault().getBundle(), new Path(DATA_PATH_PREFIX
// + ARCHIVE_HELLOWORLD + ".zip")));
// WizardProjectsImportPage wpip2 = getNewWizard();
// HashSet projects2 = new HashSet();
// projects2.add("HelloWorld");
//
// wpip2.getProjectFromDirectoryRadio().setSelection((false)); // We
// // want
// // the
// // other
// // one
// // selected
// wpip2.updateProjectsList(archiveFile2.getPath());
//
// ProjectRecord[] selectedProjects2 = wpip2.getValidProjects();
// ArrayList projectNames2 = new ArrayList();
// for (int i = 0; i < selectedProjects2.length; i++) {
// projectNames2.add(selectedProjects2[i].getProjectName());
// }
//
// assertTrue("Not all projects were found correctly in zip (2)",
// projectNames2.containsAll(projects2));
//
// CheckboxTreeViewer projectsList2 = wpip2.getProjectsList();
// projectsList2.setCheckedElements(selectedProjects2);
// wpip2.createProjects(); // Try importing all the projects we found
// waitForRefresh();
//
// // "HelloWorld" should be the only project in the workspace
// workspaceProjects2 = root.getProjects();
// if (workspaceProjects2.length != 1)
// fail("Incorrect Number of projects imported (2)");
// IFolder helloFolder2 = workspaceProjects2[0]
// .getFolder("HelloWorld");
// if (helloFolder2.exists())
// fail("Project was imported as a folder into itself (2)");
//
// verifyProjectInWorkspace(true, workspaceProjects2[0], FILE_LIST,
// true);
//
// } catch (IOException e) {
// fail(e.toString());
// } catch (CoreException e) {
// fail(e.toString());
// }
//
// }
//
// public void testImportArchiveMultiProject() {
// try {
// IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
// zipLocation = copyZipLocation();
//
// IProject[] workspaceProjects = root.getProjects();
// for (int i = 0; i < workspaceProjects.length; i++)
// FileUtil.deleteProject(workspaceProjects[i]);
//
// WizardProjectsImportPage wpip = getNewWizard();
// HashSet projects = new HashSet();
// projects.add("HelloWorld");
// projects.add("WorldHello");
//
// wpip.getProjectFromDirectoryRadio().setSelection((false)); // We
// // want
// // the
// // other
// // one
// // selected
// wpip.updateProjectsList(zipLocation);
//
// ProjectRecord[] selectedProjects = wpip.getValidProjects();
// ArrayList projectNames = new ArrayList();
// for (int i = 0; i < selectedProjects.length; i++) {
// projectNames.add(selectedProjects[i].getProjectName());
// }
//
// assertTrue("Not all projects were found correctly in zip",
// projectNames.containsAll(projects));
//
// CheckboxTreeViewer projectsList = wpip.getProjectsList();
// projectsList.setCheckedElements(selectedProjects);
// wpip.createProjects(); // Try importing all the projects we found
// waitForRefresh();
//
// // "HelloWorld" should be the only project in the workspace
// workspaceProjects = root.getProjects();
// if (workspaceProjects.length != 2)
// fail("Incorrect Number of projects imported");
// IFolder helloFolder = workspaceProjects[0].getFolder("HelloWorld");
// if (helloFolder.exists())
// fail("HelloWorld was imported as a folder into itself");
// IFolder folder2 = workspaceProjects[0].getFolder("WorldHello");
// if (folder2.exists())
// fail("WorldHello was imported as a folder into itself");
//
// for (int i = 0; i < workspaceProjects.length; i++)
// verifyProjectInWorkspace(true, workspaceProjects[i], FILE_LIST,
// true);
//
// } catch (IOException e) {
// fail(e.toString());
// } catch (CoreException e) {
// fail(e.toString());
// }
// }
//
// /**
// * Verify whether or not the imported project is in the current workspace
// * location (i.e. copy projects was true) or in another workspace location
// * (i.e. copy projects was false).
// *
// * @param inWorkspace
// * @param project
// */
// private void verifyProjectInWorkspace(final boolean inWorkspace,
// final IProject project, String[] fileList, boolean isListFiles) {
//
// IPath rootLocation = ResourcesPlugin.getWorkspace().getRoot()
// .getLocation();
// IPath projectLocation = project.getLocation();
// boolean isProjectInWorkspace = rootLocation.isPrefixOf(projectLocation);
// if (inWorkspace) {
// if (!isProjectInWorkspace)
// fail(project.getName()
// + " should be in the workspace location: "
// + rootLocation.toOSString());
// } else {
// if (isProjectInWorkspace)
// fail(project.getName()
// + " should not be in the workspace location: "
// + rootLocation.toOSString());
// }
// StringBuffer filesNotImported = new StringBuffer();
// // make sure the files in the project were imported
// for (int i = 0; i < fileList.length; i++) {
// IResource res = isListFiles ? (IResource) project
// .getFile(fileList[i]) : (IResource) project
// .getFolder(fileList[i]);
// if (!res.exists())
// filesNotImported.append(res.getName() + ", ");
// }
// assertTrue("Files expected but not in workspace: "
// + filesNotImported.toString(), filesNotImported.length() == 0);
// }
//
// /**
// * Copies the data to a temporary directory and returns the new location.
// *
// * @return the location
// */
// private String copyDataLocation() throws IOException {
// TestPlugin plugin = TestPlugin.getDefault();
// if (plugin == null)
// throw new IllegalStateException(
// "TestPlugin default reference is null");
//
// URL fullPathString = plugin.getDescriptor().find(
// new Path(WS_DATA_PREFIX).append(WS_DATA_LOCATION + ".zip"));
//
// if (fullPathString == null)
// throw new IllegalArgumentException();
//
// IPath path = new Path(fullPathString.getPath());
//
// File origin = path.toFile();
// if (!origin.exists())
// throw new IllegalArgumentException();
//
// ZipFile zFile = new ZipFile(origin);
//
// File destination = new File(FileSystemHelper.getRandomLocation(
// FileSystemHelper.getTempDir()).toOSString());
// FileTool.unzip(zFile, destination);
// return destination.getAbsolutePath();
// }
//
// private String copyZipLocation() throws IOException {
// TestPlugin plugin = TestPlugin.getDefault();
// if (plugin == null)
// throw new IllegalStateException(
// "TestPlugin default reference is null");
//
// URL fullPathString = plugin.getDescriptor().find(
// new Path(WS_DATA_PREFIX).append(WS_DATA_LOCATION + ".zip"));
//
// if (fullPathString == null)
// throw new IllegalArgumentException();
//
// IPath path = new Path(fullPathString.getPath());
//
// File origin = path.toFile();
// if (!origin.exists())
// throw new IllegalArgumentException();
//
// File destination = new File(FileSystemHelper.getRandomLocation(
// FileSystemHelper.getTempDir()).toOSString()
// + File.separator + ARCHIVE_HELLOWORLD + ".zip");
// FileTool.copy(origin, destination);
// return destination.getAbsolutePath();
// }
//
// private WizardProjectsImportPage getNewWizard() {
// ImportExportWizard wizard = new ImportExportWizard(
// ImportExportWizard.IMPORT);
// wizard.init(getWorkbench(), null);
// IDialogSettings workbenchSettings = WorkbenchPlugin.getDefault()
// .getDialogSettings();
// IDialogSettings wizardSettings = workbenchSettings
// .getSection("ImportExportTests");
// if (wizardSettings == null)
// wizardSettings = workbenchSettings
// .addNewSection("ImportExportTests");
// wizard.setDialogSettings(wizardSettings);
// wizard.setForcePreviousAndNextButtons(true);
//
// WizardProjectsImportPage wpip = new WizardProjectsImportPage();
//
// Shell shell = getShell();
//
// WizardDialog dialog = new WizardDialog(shell, wizard);
// dialog.create();
// dialog.getShell().setSize(Math.max(100, dialog.getShell().getSize().x),
// 100);
//
// Composite parent = new Composite(shell, SWT.NONE);
// parent.setLayout(new GridLayout());
// wpip.setWizard(dialog.getCurrentPage().getWizard());
// wpip.createControl(parent);
// return wpip;
// }
//}